Advances in computer technology, such as microprocessor speed, memory and storage capacity, data transfer bandwidth, and software functionality, provide for an increasing amount of electronic data to be collected and stored. As the amount of this electronic data grows, it becomes increasingly important to store the data in a manner that provides for data searches and retrieval. A common approach is to store the electronic data in a structured manner in one or more databases. For example, database designers can structure the data according to a model using data modeling languages, such as the Entity Relationship Model and the Unified Data Model Language. Such models can represent the data in terms of entities and relationships. In particular examples, the model used to structure the data is referred to as an object model.
Typically, database designers create a database management system (“DBMS”) to facilitate the searching and retrieval of data stored in the one or more structured databases. The DBMS provides a query language that provides a means for users to construct queries in order to access the data in the one or more databases. For example, Structured Query Language (“SQL”) allows users to create SQL queries to search structured databases.
Conventional systems providing access to data in a database, such as systems that help a user perform analysis of the data in the database, commonly provide an application programming interface (“API”) that enables a user to query the database. The API may provide the user with access to some or all of the functionality provided by an underlying DBMS. Accordingly, the user typically formulates queries for querying the database using a query language such as SQL.
One example of such a system is a compliance-analysis system. Compliance-analysis systems performing compliance analysis on data in a configuration-management database (“CMDB”) enable a respective user to create a rule and perform certain functions such as compliancy checks. For example, conventional compliance-analysis systems can be used to ensure that a resource in an information technology (“IT”) infrastructure, such as a client computer, is compliant with a data security regulatory rule. If the client computer is not compliant, the conventional compliance-analysis system can provide notification to an IT administrator regarding the violation.
Conventional compliance-analysis systems commonly provide an application programming interface (“API”) that enables a user (e.g., an IT administrator) to query a configuration-management database (“CMDB”) to help the user detect violations of compliance policies. Typically, the user queries the CMDB using a query language such as SQL.